Skip to content

fix(ios): use --booted flag for biometric commands on iOS 26+#4932

Merged
markdevocht merged 3 commits into
wix:masterfrom
SoaringEarth:fix/ios26-biometric-commands
May 12, 2026
Merged

fix(ios): use --booted flag for biometric commands on iOS 26+#4932
markdevocht merged 3 commits into
wix:masterfrom
SoaringEarth:fix/ios26-biometric-commands

Conversation

@SoaringEarth
Copy link
Copy Markdown
Contributor

Description

Fixes #4931

On iOS 26, applesimutils changed its biometric command interface. The --byId <udid> --matchFace/--matchFinger/--unmatchFace/--unmatchFinger flags are no longer supported. The tool now requires --booted instead of --byId <udid>, and uses unified --biometricMatch / --biometricNonmatch flags rather than per-type variants.

This broke all three biometric methods in AppleSimUtils.js. This PR branches on iOS version (using the already-memoized _getMajorIOSVersion(udid)) to use the correct flags:

Method iOS < 26 iOS 26+
matchBiometric --byId <udid> --match{Face|Finger} --booted --biometricMatch
unmatchBiometric --byId <udid> --unmatch{Face|Finger} --booted --biometricNonmatch
setBiometricEnrollment --byId <udid> --biometricEnrollment --booted --biometricEnrollment

Expected Behaviour

Biometric simulation APIs (matchFace, matchFinger, unmatchFace, unmatchFinger, setBiometricEnrollment) work correctly on iOS 26+ simulators.

Steps to Reproduce

  1. Boot an iOS 26 simulator
  2. Run a Detox test that calls any biometric API (e.g. device.matchFace())
  3. Observe failure from applesimutils due to unrecognised flag

Environment

  • macOS 25.4.0 (Darwin)
  • Xcode 26.1.1
  • applesimutils (latest)
  • Detox 20.50.1

@SoaringEarth SoaringEarth requested a review from noomorph as a code owner April 20, 2026 08:14
@markdevocht markdevocht merged commit 650e4c5 into wix:master May 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(ios): biometric commands broken on iOS 26+ (applesimutils interface change)

2 participants